﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace TandvardsstodApp
{
    public partial class LaggTillBedomningar : System.Web.UI.Page
    {
        ServiceReference1.Service1Client client = new ServiceReference1.Service1Client();

        protected void Page_Load(object sender, EventArgs e)
        {
            
            //System.Data.DataSet DataSetPersonnrFörhandsbdmn = client.GetDataByPersonnrFörhandsbedömning(txtPersonnr.Text);
            System.Data.DataSet dataSetValue = client.ScalarQueryMaxlöpnummer();
            System.Data.DataTable tableförhndsbdmn = dataSetValue.Tables[0];
            txtLöpnr.Text = tableförhndsbdmn.ToString();

            txtLöpnr.ReadOnly = true;
            DateTime tid = DateTime.Today;
            txtAnkomstdtm.Text = tid.ToShortDateString().ToString();
            System.Data.DataSet dataSetBehandlarekod = client.GetDataBehandlare();
            System.Data.DataTable tableBehnKod = dataSetBehandlarekod.Tables[0];
            System.Data.DataSet dataSetBedöningstndlkr = client.GetDataBedömningstandläkare();
            System.Data.DataTable tableBedömnTandlkr = dataSetBedöningstndlkr.Tables[0];

            System.Data.DataSet dataSetKlinikNamn = client.GetDataKlinikNamn();
            System.Data.DataTable tableklinikNamn = dataSetKlinikNamn.Tables[0];
            try
            {
                for (int i = 0; i < tableBehnKod.Rows.Count; i++)
                {


                    DdlBehandlare.Items.Add(tableBehnKod.Rows[i][4].ToString());
                    if (DdlBehandlare.Text == DdlBehandlare.SelectedItem.ToString())
                    {
                        ddlKanin.Items.Add(tableBehnKod.Rows[i][1].ToString());
                        ddlKanin.SelectedIndex = DdlBehandlare.SelectedIndex;

                    }

                }

                for (int i = 0; i < tableBedömnTandlkr.Rows.Count; i++)
                {
                    ddlBedömningstandlkr.Items.Add(tableBedömnTandlkr.Rows[i][0].ToString());
                }

                for (int i = 0; i < tableklinikNamn.Rows.Count; i++)
                {
                    ddlKlinikNamn.Items.Add(tableklinikNamn.Rows[i][2].ToString());
                }

            }
            catch
            {

            }
        }

        protected void btnAktuelltIntyg_Click(object sender, EventArgs e)
        {
            System.Data.DataSet datasetKontrollintyg = client.GetDataByPersonnummer(txtPersonnr.Text);
            System.Data.DataTable tablekontrollIntyg = datasetKontrollintyg.Tables[0];

            System.Data.DataSet dataSetKontrollAvliden = client.GetDataPerson();
            System.Data.DataTable tablekontrollAvliden = dataSetKontrollAvliden.Tables[0]; //kolumn 12 = avliden, 22 = avförd
            

            try
            {
                if (tablekontrollIntyg.Rows[0][1].Equals(txtPersonnr.Text))
                {
                    ScriptManager.RegisterStartupScript(btnAktuelltIntyg, btnAktuelltIntyg.GetType(), "alertscript", "alert(" + '"' + "Personen har intyg och är ej avliden eller avförd!" + '"' + ")", true);

                }
                else
                    ScriptManager.RegisterStartupScript(btnAktuelltIntyg, btnAktuelltIntyg.GetType(), "alertscript", "alert(" + '"' + "Personen har EJ intyg, är avliden eller avförd!" + '"' + ")", true);

            }
            catch
            {

            }
        }

        protected void btnSök_Click(object sender, EventArgs e)
        {
            ddlBedömningstandlkr.Items.Clear();
            DdlBehandlare.Items.Clear();
            ddlKanin.Items.Clear();
            ddlKlinikNamn.Items.Clear();

            if (IsPostBack)
            {
                this.Page_Load(sender, e);
                System.Data.DataSet dataSetValue = client.GetDataByPersonnummer(txtPersonnr.Text);
                System.Data.DataTable table = dataSetValue.Tables[0];
                try
                {
                    if (table.Rows[0][1].ToString() == txtPersonnr.Text)
                    ScriptManager.RegisterStartupScript(btnSök, btnSök.GetType(), "alertscript", "alert(" + '"' + "Personnummret finns i ÖLL" + '"' + ")", true);
                }
                catch
                {
                    ScriptManager.RegisterStartupScript(btnSök, btnSök.GetType(), "alertscript", "alert(" + '"' + "Personnummret finns inte i ÖLL" + '"' + ")", true);

                }

            }
        }


        protected void btnSpara_Click(object sender, EventArgs e)
        {
            try
            {
                client.InsertIntoFörhandsbedömningar(txtLöpnr.Text, DateTime.Today, txtPersonnr.Text, ddlKanin.SelectedItem.ToString(), ddlBedömningstandlkr.SelectedItem.ToString(), DateTime.Parse(txtSändTillBTL.Text),
                DateTime.Parse(txtÅterFrånBTL.Text), DateTime.Parse(txtBeslutdtm.Text), txtBeslutAv.Text, DateTime.Parse(txtÅterTillTandlkr.Text), chkNödvändigTandvård.Checked, chkProtetik.Checked,
                chkMerÄn4000.Checked, chkLedAvSjukdom.Checked, int.Parse(ddlGrupp.SelectedValue), Decimal.Parse(txtBeräknKostnad.Text), chkGodkänd.Checked, chkGodkändmedförändr.Checked,
                chkEjGodkänd.Checked, chkMakulerad.Checked, ddlKlinikNamn.SelectedItem.ToString(), txtKommentar.Text, chkTandvårdsIntygFinns.Checked, chkSärskildÅtgärd.Checked == false);
                ScriptManager.RegisterStartupScript(btnSpara, btnSpara.GetType(), "alertscript", "alert(" + '"' + "Posten är sparad!" + '"' + ")", true);

                txtPersonnr.Text = "";
                txtFörnamn.Text = "";
                txtEfternamn.Text = "";
                txtAnkomstdtm.Text = "";
                txtBeräknKostnad.Text = "";
                txtBeslutAv.Text = "";
                txtBeslutdtm.Text = "";
                txtKommentar.Text = "";
                txtSändTillBTL.Text = "";
                txtÅterFrånBTL.Text = "";
                txtÅterTillTandlkr.Text = "";
            }
            catch { ScriptManager.RegisterStartupScript(btnSök, btnSök.GetType(), "alertscript", "alert(" + '"' + "Posten ej sparad! Försök igen!" + '"' + ")", true); }
        }

        protected void btnRensa_Click(object sender, EventArgs e)
        {
            txtPersonnr.Text = "";
            txtFörnamn.Text = "";
            txtEfternamn.Text = "";
            txtAnkomstdtm.Text = "";
            txtBeräknKostnad.Text = "";
            txtBeslutAv.Text = "";
            txtBeslutdtm.Text = "";
            txtKommentar.Text = "";
            txtSändTillBTL.Text = "";
            txtÅterFrånBTL.Text = "";
            txtÅterTillTandlkr.Text = "";
        }

        protected void btnSökPerson_Click(object sender, EventArgs e)
        {
            ddlBedömningstandlkr.Items.Clear();
            DdlBehandlare.Items.Clear();
            ddlKanin.Items.Clear();
            ddlKlinikNamn.Items.Clear();

         
                if (IsPostBack)
                {
                    this.Page_Load(sender, e);
                    System.Data.DataSet dataSetPersonFörhandsbdmn = client.GetDataByPersonnrFörhandsbedömning(txtPersonnr.Text);
                    System.Data.DataTable tablePersonFör = dataSetPersonFörhandsbdmn.Tables[0];

                    if (tablePersonFör.Rows[0][1].ToString() == txtPersonnr.Text)
                    {
                        txtFörnamn.Text = tablePersonFör.Rows[0][2].ToString();
                        txtEfternamn.Text = tablePersonFör.Rows[0][3].ToString();                  
                        ScriptManager.RegisterStartupScript(btnSökPerson, btnSökPerson.GetType(), "alertscript", "alert(" + '"' + "Personen finns i registret!" + '"' + ")", true);
                        
                    } else
                        ScriptManager.RegisterStartupScript(btnSökPerson, btnSökPerson.GetType(), "alertscript", "alert(" + '"' + "Personen finns EJ i registret!" + '"' + ")", true);
                }
            
                

            }
        

        }
    }

